<!Doctype html>
<html>
<head>
    <meta charset='UTF-8'>
    <title>Document</title>
</head>
<body>

</body>
<script>
// 元字符：使用特殊符号代表特殊含义
// var str = '作为一名程序员，今年的收入最少不低于500000';
// 数字的规则
// \d 代表一个数字

// 修饰符号个数
// + 代表前面这个字符，有最少1个，多个不限
// var reg = /\d+/;

// 提取 - 字符串.match()
// var arr = str.match(reg)
// console.log(arr);


// 正则表达式的方法：exec - 提取的
// var arr = reg.exec(str)
// console.log(arr);


// var str = '有一个老外，出门不戴口罩，然后还挺嚣张："shutup"';
// 表示字母： [a-z] - 表示任意个小写字母
// 任意一个大写字母：[A-Z]
// 任意一个字母：[a-zA-Z]
// 任意一个数字：[0-9]
// 
// var reg = /[a-z]+/;

// var arr = reg.exec(str)
// console.log(arr);



// var str = '今天偶遇了一个漂亮女白领，她跟我说："你记一下，我的电话 - 18888888888"';
// var reg = /\d+/;
// var tel = str.match(reg)[0]
// console.log(tel);

// // [3-9] 表示3~9之间的任意一个数字
// // [3456789] - 中括号中的任意一个字符
// // {9} 表示前面的字符必须是9个
// // 验证： 正则表达式.test(字符串) - 满足规则是true，不满足false
// var reg = /1[3456789]\d{9}/;

// var bool = reg.test(tel)
// console.log(bool);


// var str = '13345678910110';
// // 限制必须以某个字符开头，以某个字符结尾
// // 在正则表达式在最前面加：^
// // 在正则表达式的末尾加： $
// var reg = /^1[3-9]\d{9}$/;
// var bool = reg.test(str)
// console.log(bool);

// 总结：
/*
正则表达式的写法：
    var reg = /规则/;
规则的两个斜杠后面：g-贪婪模式 i-忽略大小写
规则中的字符：
    可以是普通字符
    还可以是元字符：
        \d - 代表任意一个数字
        [0-9]

        [a-zA-Z] 任意一个字母
        [a-z] 任意一个小写字母
        [A-Z] 任意一个大写字母
        [3-9] 任意一个3~9之间的数字
        [3456] 3~6之间的任意一个数字
        [abc123] 中括号中的任意一个字符

修饰字符：
    + 前面的字符，最少1个
    {n} 必须是n个
    {n,} 最少n个
    {n,m} 最少n个,最多m个

能用正则表达式的方法：
    replace
    match
    exec
    test
*/

// 从字符串中找出满足规则的那一部分，找到了返回下标，找不到返回-1
// 字符串.search()

// var str = 'asdfasdf13212345678';
// var reg = /1[3-9]\d{9}/;
// var index = str.search(reg)
// console.log(index);
</script>
</html>